! function(t, n) {
	"object" == typeof exports & amp; & amp;
	"undefined" != typeof module ? module.exports = n() : "function" == typeof define & amp; & amp;
	define.amd ? define(n) : (t = t || self).__SVGATOR_PLAYER__ = n()
}(this, (function() {
	"use strict";

	function t(n) {
		return (t = "function" == typeof Symbol & amp; & amp;
			"symbol" == typeof Symbol.iterator ? function(t) {
				return typeof t
			} : function(t) {
				return t & amp; & amp;
				"function" == typeof Symbol & amp; & amp;
				t.constructor === Symbol & amp; & amp;
				t !== Symbol.prototype ? "symbol" : typeof t
			})(n)
	}

	function n(t, n) {
		if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
	}

	function e(t, n) {
		for (var e = 0; e & lt; n.length; e++) {
			var r = n[e];
			r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r & amp; & amp;
			(r.writable = !0), Object.defineProperty(t, r.key, r)
		}
	}

	function r(t, n, r) {
		return n & amp; & amp;
		e(t.prototype, n), r & amp; & amp;
		e(t, r), t
	}

	function i(t) {
		return (i = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {
			return t.__proto__ || Object.getPrototypeOf(t)
		})(t)
	}

	function u(t, n) {
		return (u = Object.setPrototypeOf || function(t, n) {
			return t.__proto__ = n, t
		})(t, n)
	}

	function o(t, n) {
		return !n || "object" != typeof n & amp; & amp;
		"function" != typeof n ? function(t) {
			if (void 0 === t) throw new ReferenceError(
				"this hasn't been initialised - super() hasn't been called");
			return t
		}(t) : n
	}

	function a(t) {
		var n = function() {
			if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
			if (Reflect.construct.sham) return !1;
			if ("function" == typeof Proxy) return !0;
			try {
				return Date.prototype.toString.call(Reflect.construct(Date, [], (function() {}))), !0
			} catch (t) {
				return !1
			}
		}();
		return function() {
			var e, r = i(t);
			if (n) {
				var u = i(this).constructor;
				e = Reflect.construct(r, arguments, u)
			} else e = r.apply(this, arguments);
			return o(this, e)
		}
	}

	function l(t, n, e) {
		return (l = "undefined" != typeof Reflect & amp; & amp; Reflect.get ? Reflect.get : function(t,
			n, e) {
			var r = function(t, n) {
				for (; !Object.prototype.hasOwnProperty.call(t, n) & amp; & amp; null !== (
						t = i(t)););
				return t
			}(t, n);
			if (r) {
				var u = Object.getOwnPropertyDescriptor(r, n);
				return u.get ? u.get.call(e) : u.value
			}
		})(t, n, e || t)
	}
	var f = Math.abs;

	function s(t) {
		return t
	}

	function c(t, n, e) {
		var r = 1 - e;
		return 3 * e * r * (t * r + n * e) + e * e * e
	}

	function h() {
		var t = arguments.length & gt;
		0 & amp; & amp;
		void 0 !== arguments[0] ? arguments[0] : 0, n = arguments.length & gt;
		1 & amp; & amp;
		void 0 !== arguments[1] ? arguments[1] : 0, e = arguments.length & gt;
		2 & amp; & amp;
		void 0 !== arguments[2] ? arguments[2] : 1, r = arguments.length & gt;
		3 & amp; & amp;
		void 0 !== arguments[3] ? arguments[3] : 1;
		return t & lt;
		0 || t & gt;
		1 || e & lt;
		0 || e & gt;
		1 ? null : f(t - n) & lt; = 1e-5 & amp; & amp;
		f(e - r) & lt; = 1e-5 ? s : function(i) {
			if (i & lt; = 0) return t & gt;
			0 ? i * n / t : 0 === n & amp; & amp;
			e & gt;
			0 ? i * r / e : 0;
			if (i & gt; = 1) return e & lt;
			1 ? 1 + (i - 1) * (r - 1) / (e - 1) : 1 === e & amp; & amp;
			t & lt;
			1 ? 1 + (i - 1) * (n - 1) / (t - 1) : 1;
			for (var u, o = 0, a = 1; o & lt; a;) {
				var l = c(t, e, u = (o + a) / 2);
				if (f(i - l) & lt; 1e-5) break;
				l & lt;
				i ? o = u : a = u
			}
			return c(n, r, u)
		}
	}

	function v() {
		return 1
	}

	function d(t) {
		return 1 === t ? 1 : 0
	}

	function y() {
		var t = arguments.length & gt;
		0 & amp; & amp;
		void 0 !== arguments[0] ? arguments[0] : 1, n = arguments.length & gt;
		1 & amp; & amp;
		void 0 !== arguments[1] ? arguments[1] : 0;
		if (1 === t) {
			if (0 === n) return d;
			if (1 === n) return v
		}
		var e = 1 / t;
		return function(t) {
			return t & gt; = 1 ? 1 : (t += n * e) - t % e
		}
	}

	function g(t) {
		var n = arguments.length & gt;
		1 & amp; & amp;
		void 0 !== arguments[1] ? arguments[1] : 2;
		if (Number.isInteger(t)) return t;
		var e = Math.pow(10, n);
		return Math.round(t * e) / e
	}
	var p = Math.PI / 180;

	function m(t, n, e) {
		return t & gt; = .5 ? e : n
	}

	function b(t, n, e) {
		return 0 === t || n === e ? n : t * (e - n) + n
	}

	function w(t, n, e) {
		var r = b(t, n, e);
		return r & lt; = 0 ? 0 : r
	}

	function x(t, n, e) {
		return 0 === t ? n : 1 === t ? e : {
			x: b(t, n.x, e.x),
			y: b(t, n.y, e.y)
		}
	}

	function k(t, n, e) {
		return 0 === t ? n : 1 === t ? e : {
			x: w(t, n.x, e.x),
			y: w(t, n.y, e.y)
		}
	}

	function A(t, n, e) {
		var r = function(t, n, e) {
			return Math.round(b(t, n, e))
		}(t, n, e);
		return r & lt; = 0 ? 0 : r & gt; = 255 ? 255 : r
	}

	function _(t, n, e) {
		return 0 === t ? n : 1 === t ? e : {
			r: A(t, n.r, e.r),
			g: A(t, n.g, e.g),
			b: A(t, n.b, e.b),
			a: b(t, null == n.a ? 1 : n.a, null == e.a ? 1 : e.a)
		}
	}

	function S(t, n, e) {
		if (0 === t) return n;
		if (1 === t) return e;
		var r = n.length;
		if (r !== e.length) return m(t, n, e);
		for (var i = [], u = 0; u & lt; r; u++) i.push(_(t, n[u], e[u]));
		return i
	}

	function M(t, n, e) {
		var r = n.length;
		if (r !== e.length) return m(t, n, e);
		for (var i = new Array(r), u = 0; u & lt; r; u++) i[u] = b(t, n[u], e[u]);
		return i
	}

	function O(t, n) {
		for (var e = [], r = 0; r & lt; t; r++) e.push(n);
		return e
	}

	function E(t, n) {
		if (--n & lt; = 0) return t;
		var e = (t = Object.assign([], t)).length;
		do {
			for (var r = 0; r & lt; e; r++) t.push(t[r])
		} while (--n & gt; 0);
		return t
	}
	var B, I = function() {
			function t(e) {
				n(this, t), this.list = e, this.length = e.length
			}
			return r(t, [{
				key: "setAttribute",
				value: function(t, n) {
					for (var e = this.list, r = 0; r & lt; this.length; r++) e[r]
						.setAttribute(t, n)
				}
			}, {
				key: "removeAttribute",
				value: function(t) {
					for (var n = this.list, e = 0; e & lt; this.length; e++) n[e]
						.removeAttribute(t)
				}
			}, {
				key: "style",
				value: function(t, n) {
					for (var e = this.list, r = 0; r & lt; this.length; r++) e[r].style[
						t] = n
				}
			}]), t
		}(),
		j = /-./g,
		P = function(t, n) {
			return n.toUpperCase()
		};

	function F(t) {
		return "function" == typeof t ? t : m
	}

	function R(t) {
		return t ? "function" == typeof t ? t : Array.isArray(t) ? function(t) {
			var n = arguments.length & gt;
			1 & amp; & amp;
			void 0 !== arguments[1] ? arguments[1] : s;
			if (!Array.isArray(t)) return n;
			switch (t.length) {
				case 1:
					return y(t[0]) || n;
				case 2:
					return y(t[0], t[1]) || n;
				case 4:
					return h(t[0], t[1], t[2], t[3]) || n
			}
			return n
		}(t, null) : function(t, n) {
			var e = arguments.length & gt;
			2 & amp; & amp;
			void 0 !== arguments[2] ? arguments[2] : s;
			switch (t) {
				case "linear":
					return s;
				case "steps":
					return y(n.steps || 1, n.jump || 0) || e;
				case "bezier":
				case "cubic-bezier":
					return h(n.x1 || 0, n.y1 || 0, n.x2 || 0, n.y2 || 0) || e
			}
			return e
		}(t.type, t.value, null) : null
	}

	function T(t, n, e) {
		var r = arguments.length & gt;
		3 & amp; & amp;
		void 0 !== arguments[3] & amp; & amp;
		arguments[3], i = n.length - 1;
		if (t & lt; = n[0].t) return r ? [0, 0, n[0].v] : n[0].v;
		if (t & gt; = n[i].t) return r ? [i, 1, n[i].v] : n[i].v;
		var u, o = n[0],
			a = null;
		for (u = 1; u & lt; = i; u++) {
			if (!(t & gt; n[u].t)) {
				a = n[u];
				break
			}
			o = n[u]
		}
		return null == a ? r ? [i, 1, n[i].v] : n[i].v : o.t === a.t ? r ? [u, 1, a.v] : a.v : (t = (t -
				o.t) / (a.t - o.t), o.e & amp; & amp;
			(t = o.e(t)), r ? [u, t, e(t, o.v, a.v)] : e(t, o.v, a.v))
	}

	function q(t, n) {
		var e = arguments.length & gt;
		2 & amp; & amp;
		void 0 !== arguments[2] ? arguments[2] : null;
		return t & amp; & amp;
		t.length ? "function" != typeof n ? null : ("function" != typeof e & amp; & amp;
			(e = null),
			function(r) {
				var i = T(r, t, n);
				return null != i & amp; & amp;
				e & amp; & amp;
				(i = e(i)), i
			}) : null
	}

	function C(t, n) {
		return t.t - n.t
	}

	function V(n, e, r, i, u) {
		var o, a = "@" === r[0],
			l = "#" === r[0],
			f = B[r],
			s = m;
		switch (a ? (o = r.substr(1), r = o.replace(j, P)) : l & amp; & amp;
			(r = r.substr(1)), t(f)) {
			case "function":
				if (s = f(i, u, T, R, r, a, e, n), l) return s;
				break;
			case "string":
				s = q(i, F(f));
				break;
			case "object":
				if ((s = q(i, F(f.i), f.f)) & amp; & amp;
					"function" == typeof f.u) return f.u(e, s, r, a, n)
		}
		return s ? function(t, n, e) {
			var r = arguments.length & gt;
			3 & amp; & amp;
			void 0 !== arguments[3] & amp; & amp;
			arguments[3];
			if (r) return t instanceof I ? function(r) {
				return t.style(n, e(r))
			} : function(r) {
				return t.style[n] = e(r)
			};
			if (Array.isArray(n)) {
				var i = n.length;
				return function(r) {
					var u = e(r);
					if (null == u)
						for (var o = 0; o & lt; i; o++) t[o].removeAttribute(n);
					else
						for (var a = 0; a & lt; i; a++) t[a].setAttribute(n, u)
				}
			}
			return function(r) {
				var i = e(r);
				null == i ? t.removeAttribute(n) : t.setAttribute(n, i)
			}
		}(e, r, s, a) : null
	}

	function N(n, e, r, i) {
		if (!i || "object" !== t(i)) return null;
		var u = null,
			o = null;
		return Array.isArray(i) ? o = function(t) {
			if (!t || !t.length) return null;
			for (var n = 0; n & lt; t.length; n++) t[n].e & amp; & amp;
			(t[n].e = R(t[n].e));
			return t.sort(C)
		}(i) : (o = i.keys, u = i.data || null), o ? V(n, e, r, o, u) : null
	}

	function z(t, n, e) {
		if (!e) return null;
		var r = [];
		for (var i in e)
			if (e.hasOwnProperty(i)) {
				var u = N(t, n, i, e[i]);
				u & amp; & amp;
				r.push(u)
			} return r.length ? r : null
	}

	function D(t, n) {
		if (!n.duration || n.duration & lt; 0) return null;
		var e = function(t, n) {
			if (!n) return null;
			var e = [];
			if (Array.isArray(n))
				for (var r = n.length, i = 0; i & lt; r; i++) {
					var u = n[i];
					if (2 === u.length) {
						var o = null;
						if ("string" == typeof u[0]) o = t.getElementById(u[0]);
						else if (Array.isArray(u[0])) {
							o = [];
							for (var a = 0; a & lt; u[0].length; a++)
								if ("string" == typeof u[0][a]) {
									var l = t.getElementById(u[0][a]);
									l & amp; & amp;
									o.push(l)
								} o = o.length ? 1 === o.length ? o[0] : new I(o) : null
						}
						if (o) {
							var f = z(t, o, u[1]);
							f & amp; & amp;
							(e = e.concat(f))
						}
					}
				} else
					for (var s in n)
						if (n.hasOwnProperty(s)) {
							var c = t.getElementById(s);
							if (c) {
								var h = z(t, c, n[s]);
								h & amp; & amp;
								(e = e.concat(h))
							}
						} return e.length ? e : null
		}(t, n.elements);
		return e ? function(t, n) {
			var e = arguments.length & gt;
			2 & amp; & amp;
			void 0 !== arguments[2] ? arguments[2] : 1 / 0, r = arguments.length & gt;
			3 & amp; & amp;
			void 0 !== arguments[3] ? arguments[3] : 1, i = arguments.length & gt;
			4 & amp; & amp;
			void 0 !== arguments[4] & amp; & amp;
			arguments[4], u = arguments.length & gt;
			5 & amp; & amp;
			void 0 !== arguments[5] ? arguments[5] : 1, o = t.length, a = r & gt;
			0 ? n : 0;
			i & amp; & amp;
			e % 2 == 0 & amp; & amp;
			(a = n - a);
			var l = null;
			return function(f, s) {
				var c = f % n,
					h = 1 + (f - c) / n;
				s *= r, i & amp; & amp;
				h % 2 == 0 & amp; & amp;
				(s = -s);
				var v = !1;
				if (h & gt; e) c = a, v = !0, -1 === u & amp; & amp;
				(c = r & gt; 0 ? 0 : n);
				else if (s & lt; 0 & amp; & amp;
					(c = n - c), c === l) return !1;
				l = c;
				for (var d = 0; d & lt; o; d++) t[d](c);
				return v
			}
		}(e, n.duration, n.iterations || 1 / 0, n.direction || 1, !!n.alternate, n.fill || 1) : null
	}

	function L(t, n) {
		if (B = n, !t || !t.root || !Array.isArray(t.animations)) return null;
		var e = window.document.getElementById(t.root);
		if (!e) return null;
		var r = t.animations.map((function(t) {
			return D(e, t)
		})).filter((function(t) {
			return !!t
		}));
		return r.length ? {
			element: e,
			animations: r,
			animationSettings: t.animationSettings,
			options: t.options || void 0
		} : null
	}
	var U = function() {
		function t(e, r) {
			var i = arguments.length & gt;
			2 & amp; & amp;
			void 0 !== arguments[2] ? arguments[2] : {};
			n(this, t), this._id = 0, this._running = !1, this._rollingBack = !1, this._animations =
				e, this.duration = r.duration, this.alternate = r.alternate, this.fill = r.fill, this
				.iterations = r.iterations, this.direction = i.direction || 1, this.speed = i
				.speed || 1, this.fps = i.fps || 100, this.offset = i.offset || 0, this
				.rollbackStartOffset = 0
		}
		return r(t, [{
			key: "_rollback",
			value: function() {
				var t = this,
					n = 1 / 0,
					e = null;
				this.rollbackStartOffset = this.offset, this._rollingBack || (this
					._rollingBack = !0, this._running = !0);
				this._id = window.requestAnimationFrame((function r(i) {
					if (t._rollingBack) {
						null == e & amp; & amp;
						(e = i);
						var u = i - e,
							o = t.rollbackStartOffset - u,
							a = Math.round(o * t.speed);
						if (a & gt; t.duration & amp; & amp; n != 1 /
							0) {
							var l = !!t.alternate & amp; & amp;
							a / t.duration % 2 & gt;
							1, f = a % t.duration;
							a = (f += l ? t.duration : 0) || t.duration
						}
						var s = t.fps ? 1e3 / t.fps : 0,
							c = Math.max(0, a);
						if (c & lt; n - s) {
							t.offset = c, n = c;
							for (var h = t._animations, v = h.length, d =
									0; d & lt; v; d++) h[d](c, t
								.direction)
						}
						var y = !1;
						if (t.iterations & gt; 0 & amp; & amp; - 1 === t
							.fill) {
							var g = t.iterations * t.duration,
								p = g == a;
							a = p ? 0 : a, t.offset = p ? 0 : t.offset,
								y = a & gt;
							g
						}
						a & gt;
						0 & amp; & amp;
						t.offset & gt; = a & amp; & amp;
						!y ? t._id = window.requestAnimationFrame(r) : t
							.stop()
					}
				}))
			}
		}, {
			key: "_start",
			value: function() {
				var t = this,
					n = arguments.length & gt;
				0 & amp; & amp;
				void 0 !== arguments[0] ? arguments[0] : 0, e = -1 / 0, r = null,
					i = {}, u = function u(o) {
						t._running = !0, null == r & amp; & amp;
						(r = o);
						var a = Math.round((o - r + n) * t.speed),
							l = t.fps ? 1e3 / t.fps : 0;
						if (a & gt; e + l & amp; & amp; !t._rollingBack) {
							t.offset = a, e = a;
							for (var f = t._animations, s = f.length, c = 0, h =
									0; h & lt; s; h++) i[h] ? c++ : (i[h] = f[h](a, t
								.direction), i[h] & amp; & amp; c++);
							if (c === s) return void t._stop()
						}
						t._id = window.requestAnimationFrame(u)
					};
				this._id = window.requestAnimationFrame(u)
			}
		}, {
			key: "_stop",
			value: function() {
				this._id & amp; & amp;
				window.cancelAnimationFrame(this._id), this._running = !1, this
					._rollingBack = !1
			}
		}, {
			key: "play",
			value: function() {
				!this._rollingBack & amp; & amp;
				this._running || (this._rollingBack = !1, this.rollbackStartOffset &
					gt; this.duration & amp; & amp;
					(this.offset = this.rollbackStartOffset - (this
							.rollbackStartOffset - this.offset) % this.duration,
						this.rollbackStartOffset = 0), this._start(this.offset))
			}
		}, {
			key: "stop",
			value: function() {
				this._stop(), this.offset = 0, this.rollbackStartOffset = 0;
				var t = this.direction,
					n = this._animations;
				window.requestAnimationFrame((function() {
					for (var e = 0; e & lt; n.length; e++) n[e](0, t)
				}))
			}
		}, {
			key: "reachedToEnd",
			value: function() {
				return this.iterations & gt;
				0 & amp; & amp;
				this.offset & gt; = this.iterations * this.duration
			}
		}, {
			key: "restart",
			value: function() {
				this._stop(), this.offset = 0, this._start()
			}
		}, {
			key: "pause",
			value: function() {
				this._stop()
			}
		}, {
			key: "reverse",
			value: function() {
				this.direction = -this.direction
			}
		}], [{
			key: "build",
			value: function(n, e) {
				return (n = L(n, e)) ? {
					el: n.element,
					options: n.options || {},
					player: new t(n.animations, n.animationSettings, n.options)
				} : null
			}
		}]), t
	}();
	! function() {
		for (var t = 0, n = ["ms", "moz", "webkit", "o"], e = 0; e & lt; n.length & amp; & amp; !window
			.requestAnimationFrame; ++e) window.requestAnimationFrame = window[n[e] +
			"RequestAnimationFrame"], window.cancelAnimationFrame = window[n[e] +
			"CancelAnimationFrame"] || window[n[e] + "CancelRequestAnimationFrame"];
		window.requestAnimationFrame || (window.requestAnimationFrame = function(n) {
			var e = Date.now(),
				r = Math.max(0, 16 - (e - t)),
				i = window.setTimeout((function() {
					n(e + r)
				}), r);
			return t = e + r, i
		}, window.cancelAnimationFrame = window.clearTimeout)
	}();
	var W = function(t, n) {
			var e = !1,
				r = null;
			return function(i) {
				e & amp; & amp;
				clearTimeout(e), e = setTimeout((function() {
					return function() {
						for (var i = 0, u = window.innerHeight, o = 0, a = window
								.innerWidth, l = t
								.parentNode; l instanceof Element;) {
							var f = window.getComputedStyle(l);
							if ("visible" !== f.overflowY || "visible" !== f
								.overflowX) {
								var s = l.getBoundingClientRect();
								"visible" !== f.overflowY & amp; & amp;
								(i = Math.max(i, s.top), u = Math.min(u, s.bottom)),
								"visible" !== f.overflowX & amp; & amp;
								(o = Math.max(o, s.left), a = Math.min(a, s.right))
							}
							if (l === l.parentNode) break;
							l = l.parentNode
						}
						e = !1;
						var c = t.getBoundingClientRect(),
							h = Math.min(c.height, Math.max(0, i - c.top)),
							v = Math.min(c.height, Math.max(0, c.bottom - u)),
							d = Math.min(c.width, Math.max(0, o - c.left)),
							y = Math.min(c.width, Math.max(0, c.right - a)),
							g = (c.height - h - v) / c.height,
							p = (c.width - d - y) / c.width,
							m = Math.round(g * p * 100);
						null !== r & amp; & amp;
						r === m || (r = m, n(m))
					}()
				}), 100)
			}
		},
		Y = function() {
			function t(e, r, i) {
				n(this, t), r = Math.max(1, r || 1), r = Math.min(r, 100), this.el = e, this
					.onTresholdChange = i & amp; & amp;
				i.call ? i : function() {}, this.tresholdPercent = r || 1, this.currentVisibility = null,
					this.visibilityCalculator = W(e, this.onVisibilityUpdate.bind(this)), this
					.bindScrollWatchers(), this.visibilityCalculator()
			}
			return r(t, [{
				key: "bindScrollWatchers",
				value: function() {
					for (var t = this.el.parentNode; t & amp; & amp;
						(t.addEventListener("scroll", this.visibilityCalculator), t !== t
							.parentNode & amp; & amp; t !== document);) t = t.parentNode
				}
			}, {
				key: "onVisibilityUpdate",
				value: function(t) {
					var n = this.currentVisibility & gt; = this.tresholdPercent, e = t &
						gt; = this.tresholdPercent;
					if (null === this.currentVisibility || n !== e) return this
						.currentVisibility = t, void this.onTresholdChange(e);
					this.currentVisibility = t
				}
			}]), t
		}(),
		G = /\.0+$/g;

	function H(t) {
		return Number.isInteger(t) ? t + "" : t.toFixed(6).replace(G, "")
	}

	function X(t) {
		var n = arguments.length & gt;
		1 & amp; & amp;
		void 0 !== arguments[1] ? arguments[1] : " ";
		return t & amp; & amp;
		t.length ? t.map(H).join(n) : ""
	}

	function $(t) {
		return H(t.x) + "," + H(t.y)
	}

	function Q(t) {
		return t ? null == t.a || t.a & gt; = 1 ? "rgb(" + t.r + "," + t.g + "," + t.b + ")" : "rgba(" +
			t.r + "," + t.g + "," + t.b + "," + t.a + ")": "transparent"
	}
	var Z = {
			f: null,
			i: k,
			u: function(t, n) {
				return function(e) {
					var r = n(e);
					t.setAttribute("rx", H(r.x)), t.setAttribute("ry", H(r.y))
				}
			}
		},
		J = {
			f: null,
			i: function(t, n, e) {
				return 0 === t ? n : 1 === t ? e : {
					width: w(t, n.width, e.width),
					height: w(t, n.height, e.height)
				}
			},
			u: function(t, n) {
				return function(e) {
					var r = n(e);
					t.setAttribute("width", H(r.width)), t.setAttribute("height", H(r.height))
				}
			}
		},
		K = Math.sin,
		tt = Math.cos,
		nt = Math.acos,
		et = Math.asin,
		rt = Math.tan,
		it = Math.atan2,
		ut = Math.PI / 180,
		ot = 180 / Math.PI,
		at = Math.sqrt,
		lt = function() {
			function t() {
				var e = arguments.length & gt;
				0 & amp; & amp;
				void 0 !== arguments[0] ? arguments[0] : 1, r = arguments.length & gt;
				1 & amp; & amp;
				void 0 !== arguments[1] ? arguments[1] : 0, i = arguments.length & gt;
				2 & amp; & amp;
				void 0 !== arguments[2] ? arguments[2] : 0, u = arguments.length & gt;
				3 & amp; & amp;
				void 0 !== arguments[3] ? arguments[3] : 1, o = arguments.length & gt;
				4 & amp; & amp;
				void 0 !== arguments[4] ? arguments[4] : 0, a = arguments.length & gt;
				5 & amp; & amp;
				void 0 !== arguments[5] ? arguments[5] : 0;
				n(this, t), this.m = [e, r, i, u, o, a], this.i = null, this.w = null, this.s = null
			}
			return r(t, [{
				key: "point",
				value: function(t, n) {
					var e = this.m;
					return {
						x: e[0] * t + e[2] * n + e[4],
						y: e[1] * t + e[3] * n + e[5]
					}
				}
			}, {
				key: "translateSelf",
				value: function() {
					var t = arguments.length & gt;
					0 & amp; & amp;
					void 0 !== arguments[0] ? arguments[0] : 0, n = arguments.length &
						gt;
					1 & amp; & amp;
					void 0 !== arguments[1] ? arguments[1] : 0;
					if (!t & amp; & amp; !n) return this;
					var e = this.m;
					return e[4] += e[0] * t + e[2] * n, e[5] += e[1] * t + e[3] * n, this
						.w = this.s = this.i = null, this
				}
			}, {
				key: "rotateSelf",
				value: function() {
					var t = arguments.length & gt;
					0 & amp; & amp;
					void 0 !== arguments[0] ? arguments[0] : 0;
					if (t %= 360) {
						var n = K(t *= ut),
							e = tt(t),
							r = this.m,
							i = r[0],
							u = r[1];
						r[0] = i * e + r[2] * n, r[1] = u * e + r[3] * n, r[2] = r[2] *
							e - i * n, r[3] = r[3] * e - u * n, this.w = this.s = this
							.i = null
					}
					return this
				}
			}, {
				key: "scaleSelf",
				value: function() {
					var t = arguments.length & gt;
					0 & amp; & amp;
					void 0 !== arguments[0] ? arguments[0] : 1, n = arguments.length &
						gt;
					1 & amp; & amp;
					void 0 !== arguments[1] ? arguments[1] : 1;
					if (1 !== t || 1 !== n) {
						var e = this.m;
						e[0] *= t, e[1] *= t, e[2] *= n, e[3] *= n, this.w = this.s =
							this.i = null
					}
					return this
				}
			}, {
				key: "skewSelf",
				value: function(t, n) {
					if (n %= 360, (t %= 360) || n) {
						var e = this.m,
							r = e[0],
							i = e[1],
							u = e[2],
							o = e[3];
						t & amp; & amp;
						(t = rt(t * ut), e[2] += r * t, e[3] += i * t), n & amp; & amp;
						(n = rt(n * ut), e[0] += u * n, e[1] += o * n), this.w = this.s =
							this.i = null
					}
					return this
				}
			}, {
				key: "resetSelf",
				value: function() {
					var t = arguments.length & gt;
					0 & amp; & amp;
					void 0 !== arguments[0] ? arguments[0] : 1, n = arguments.length &
						gt;
					1 & amp; & amp;
					void 0 !== arguments[1] ? arguments[1] : 0, e = arguments.length &
						gt;
					2 & amp; & amp;
					void 0 !== arguments[2] ? arguments[2] : 0, r = arguments.length &
						gt;
					3 & amp; & amp;
					void 0 !== arguments[3] ? arguments[3] : 1, i = arguments.length &
						gt;
					4 & amp; & amp;
					void 0 !== arguments[4] ? arguments[4] : 0, u = arguments.length &
						gt;
					5 & amp; & amp;
					void 0 !== arguments[5] ? arguments[5] : 0, o = this.m;
					return o[0] = t, o[1] = n, o[2] = e, o[3] = r, o[4] = i, o[5] = u,
						this.w = this.s = this.i = null, this
				}
			}, {
				key: "recomposeSelf",
				value: function() {
					var t = arguments.length & gt;
					0 & amp; & amp;
					void 0 !== arguments[0] ? arguments[0] : null, n = arguments.length &
						gt;
					1 & amp; & amp;
					void 0 !== arguments[1] ? arguments[1] : null, e = arguments.length &
						gt;
					2 & amp; & amp;
					void 0 !== arguments[2] ? arguments[2] : null, r = arguments.length &
						gt;
					3 & amp; & amp;
					void 0 !== arguments[3] ? arguments[3] : null, i = arguments.length &
						gt;
					4 & amp; & amp;
					void 0 !== arguments[4] ? arguments[4] : null;
					return this.isIdentity || this.resetSelf(), t & amp; & amp;
					(t.x || t.y) & amp; & amp;
					this.translateSelf(t.x, t.y), n & amp; & amp;
					this.rotateSelf(n), e & amp; & amp;
					(e.x & amp; & amp; this.skewSelf(e.x, 0), e.y & amp; & amp; this
						.skewSelf(0, e.y)), !r || 1 === r.x & amp; & amp;
					1 === r.y || this.scaleSelf(r.x, r.y), i & amp; & amp;
					(i.x || i.y) & amp; & amp;
					this.translateSelf(i.x, i.y), this
				}
			}, {
				key: "decompose",
				value: function() {
					var t = arguments.length & gt;
					0 & amp; & amp;
					void 0 !== arguments[0] ? arguments[0] : 0, n = arguments.length &
						gt;
					1 & amp; & amp;
					void 0 !== arguments[1] ? arguments[1] : 0, e = this.m, r = e[0] * e[
						0] + e[1] * e[1], i = [
						[e[0], e[1]],
						[e[2], e[3]]
					], u = at(r);
					if (0 === u) return {
						origin: {
							x: e[4],
							y: e[5]
						},
						translate: {
							x: t,
							y: n
						},
						scale: {
							x: 0,
							y: 0
						},
						skew: {
							x: 0,
							y: 0
						},
						rotate: 0
					};
					i[0][0] /= u, i[0][1] /= u;
					var o = e[0] * e[3] - e[1] * e[2] & lt;
					0;
					o & amp; & amp;
					(u = -u);
					var a = i[0][0] * i[1][0] + i[0][1] * i[1][1];
					i[1][0] -= i[0][0] * a, i[1][1] -= i[0][1] * a;
					var l = at(i[1][0] * i[1][0] + i[1][1] * i[1][1]);
					if (0 === l) return {
						origin: {
							x: e[4],
							y: e[5]
						},
						translate: {
							x: t,
							y: n
						},
						scale: {
							x: u,
							y: 0
						},
						skew: {
							x: 0,
							y: 0
						},
						rotate: 0
					};
					i[1][0] /= l, i[1][1] /= l, a /= l;
					var f = 0;
					return i[1][1] & lt;
					0 ? (f = nt(i[1][1]) * ot, i[0][1] & lt; 0 & amp; & amp;
						(f = 360 - f)) : f = et(i[0][1]) * ot, o & amp; & amp;
					(f = -f), a = it(a, at(i[0][0] * i[0][0] + i[0][1] * i[0][1])) *
						ot, {
							origin: {
								x: e[4],
								y: e[5]
							},
							translate: {
								x: t,
								y: n
							},
							scale: {
								x: u,
								y: l
							},
							skew: {
								x: a,
								y: 0
							},
							rotate: f
						}
				}
			}, {
				key: "toString",
				value: function() {
					return null === this.s & amp; & amp;
					(this.s = "matrix(" + this.m.map(st).join(" ") + ")"), this.s
				}
			}, {
				key: "determinant",
				get: function() {
					var t = this.m;
					return t[0] * t[3] - t[1] * t[2]
				}
			}, {
				key: "isIdentity",
				get: function() {
					if (null === this.i) {
						var t = this.m;
						this.i = 1 === t[0] & amp; & amp;
						0 === t[1] & amp; & amp;
						0 === t[2] & amp; & amp;
						1 === t[3] & amp; & amp;
						0 === t[4] & amp; & amp;
						0 === t[5]
					}
					return this.i
				}
			}]), t
		}(),
		ft = /\.0+$/;

	function st(t) {
		return Number.isInteger(t) ? t : t.toFixed(14).replace(ft, "")
	}
	Object.freeze({
		M: 2,
		L: 2,
		Z: 0,
		H: 1,
		V: 1,
		C: 6,
		Q: 4,
		T: 2,
		S: 4,
		A: 7
	});

	function ct(t, n, e) {
		return t + (n - t) * e
	}

	function ht(t, n, e) {
		var r = arguments.length & gt;
		3 & amp; & amp;
		void 0 !== arguments[3] & amp; & amp;
		arguments[3], i = {
			x: ct(t.x, n.x, e),
			y: ct(t.y, n.y, e)
		};
		return r & amp; & amp;
		(i.a = vt(t, n)), i
	}

	function vt(t, n) {
		return Math.atan2(n.y - t.y, n.x - t.x)
	}

	function dt(t, n, e, r) {
		var i = 1 - r;
		return i * i * t + 2 * i * r * n + r * r * e
	}

	function yt(t, n, e, r) {
		return 2 * (1 - r) * (n - t) + 2 * r * (e - n)
	}

	function gt(t, n, e, r) {
		var i = arguments.length & gt;
		4 & amp; & amp;
		void 0 !== arguments[4] & amp; & amp;
		arguments[4], u = {
			x: dt(t.x, n.x, e.x, r),
			y: dt(t.y, n.y, e.y, r)
		};
		return i & amp; & amp;
		(u.a = pt(t, n, e, r)), u
	}

	function pt(t, n, e, r) {
		return Math.atan2(yt(t.y, n.y, e.y, r), yt(t.x, n.x, e.x, r))
	}

	function mt(t, n, e, r, i) {
		var u = i * i;
		return i * u * (r - t + 3 * (n - e)) + 3 * u * (t + e - 2 * n) + 3 * i * (n - t) + t
	}

	function bt(t, n, e, r, i) {
		var u = 1 - i;
		return 3 * (u * u * (n - t) + 2 * u * i * (e - n) + i * i * (r - e))
	}

	function wt(t, n, e, r, i) {
		var u = arguments.length & gt;
		5 & amp; & amp;
		void 0 !== arguments[5] & amp; & amp;
		arguments[5], o = {
			x: mt(t.x, n.x, e.x, r.x, i),
			y: mt(t.y, n.y, e.y, r.y, i)
		};
		return u & amp; & amp;
		(o.a = xt(t, n, e, r, i)), o
	}

	function xt(t, n, e, r, i) {
		return Math.atan2(bt(t.y, n.y, e.y, r.y, i), bt(t.x, n.x, e.x, r.x, i))
	}

	function kt(t, n, e) {
		var r = arguments.length & gt;
		3 & amp; & amp;
		void 0 !== arguments[3] & amp; & amp;
		arguments[3];
		if (_t(n)) {
			if (St(e)) return gt(n, e.start, e, t, r)
		} else if (_t(e)) {
			if (n.end) return gt(n, n.end, e, t, r)
		} else {
			if (n.end) return e.start ? wt(n, n.end, e.start, e, t, r) : gt(n, n.end, e, t, r);
			if (e.start) return gt(n, e.start, e, t, r)
		}
		return ht(n, e, t, r)
	}

	function At(t, n, e) {
		var r = kt(t, n, e, !0);
		return r.a = function(t) {
			var n = arguments.length & gt;
			1 & amp; & amp;
			void 0 !== arguments[1] & amp; & amp;
			arguments[1];
			return n ? t + Math.PI : t
		}(r.a) / p, r
	}

	function _t(t) {
		return !t.type || "corner" === t.type
	}

	function St(t) {
		return null != t.start & amp; & amp;
		!_t(t)
	}
	var Mt = new lt;
	var Ot = {
			f: function(t) {
				return t ? t.join(" ") : ""
			},
			i: function(n, e, r) {
				if (0 === n) return e;
				if (1 === n) return r;
				var i = e.length;
				if (i !== r.length) return m(n, e, r);
				for (var u, o = new Array(i), a = 0; a & lt; i; a++) {
					if ((u = t(e[a])) !== t(r[a])) return m(n, e, r);
					if ("number" === u) o[a] = b(n, e[a], r[a]);
					else {
						if (e[a] !== r[a]) return m(n, e, r);
						o[a] = e[a]
					}
				}
				return o
			}
		},
		Et = {
			f: null,
			i: M,
			u: function(t, n) {
				return function(e) {
					var r = n(e);
					t.setAttribute("x1", H(r[0])), t.setAttribute("y1", H(r[1])), t.setAttribute(
						"x2", H(r[2])), t.setAttribute("y2", H(r[3]))
				}
			}
		},
		Bt = {
			f: H,
			i: b
		},
		It = {
			f: H,
			i: function(t, n, e) {
				var r = b(t, n, e);
				return r & lt; = 0 ? 0 : r & gt; = 1 ? 1 : r
			}
		},
		jt = {
			f: X,
			i: function(t, n, e) {
				var r, i, u, o = n.length,
					a = e.length;
				if (o !== a)
					if (0 === o) n = O(o = a, 0);
					else if (0 === a) a = o, e = O(o, 0);
				else {
					var l = (u = (r = o) * (i = a) / function(t, n) {
						for (var e; n;) e = n, n = t % n, t = e;
						return t || 1
					}(r, i)) & lt;
					0 ? -u : u;
					n = E(n, Math.floor(l / o)), e = E(e, Math.floor(l / a)), o = a = l
				}
				for (var f = [], s = 0; s & lt; o; s++) f.push(g(w(t, n[s], e[s]), 6));
				return f
			}
		};

	function Pt(t, n, e, r, i, u, o, a) {
		return n = function(t, n, e) {
				for (var r, i, u, o = t.length - 1, a = {}, l = 0; l & lt; = o; l++)(r = t[l]).e & amp; &
				amp;
				(r.e = n(r.e)), r.v & amp; & amp;
				"g" === (i = r.v).t & amp; & amp;
				i.r & amp; & amp;
				(u = e.getElementById(i.r)) & amp; & amp;
				(a[i.r] = u.querySelectorAll("stop"));
				return a
			}(t, r, a),
			function(r) {
				var i, u = e(r, t, Ft);
				return u ? "c" === u.t ? Q(u.v) : "g" === u.t ? (n[u.r] & amp; & amp;

					function(t, n) {
						for (var e = 0, r = t.length; e & lt; r; e++) t[e].setAttribute("stop-color",
							Q(n[e]))
					}(n[u.r], u.v), (i = u.r) ? "url(#" + i + ")" : "none") : "none" : "none"
			}
	}

	function Ft(t, n, e) {
		if (0 === t) return n;
		if (1 === t) return e;
		if (n & amp; & amp; e) {
			var r = n.t;
			if (r === e.t) switch (n.t) {
				case "c":
					return {
						t: r, v: _(t, n.v, e.v)
					};
				case "g":
					if (n.r === e.r) return {
						t: r,
						v: S(t, n.v, e.v),
						r: n.r
					}
			}
		}
		return m(t, n, e)
	}
	var Rt = {
		blur: k,
		brightness: w,
		contrast: w,
		"drop-shadow": function(t, n, e) {
			return 0 === t ? n : 1 === t ? e : {
				blur: k(t, n.blur, e.blur),
				offset: x(t, n.offset, e.offset),
				color: _(t, n.color, e.color)
			}
		},
		grayscale: w,
		"hue-rotate": b,
		invert: w,
		opacity: w,
		saturate: w,
		sepia: w
	};

	function Tt(t, n, e) {
		if (0 === t) return n;
		if (1 === t) return e;
		var r = n.length;
		if (r !== e.length) return m(t, n, e);
		for (var i, u = [], o = 0; o & lt; r; o++) {
			if (n[o].type !== e[o].type) return n;
			if (!(i = Rt[n[o].type])) return m(t, n, e);
			u.push({
				type: n.type,
				value: i(t, n[o].value, e[o].value)
			})
		}
		return u
	}
	var qt = {
		blur: function(t) {
			return t ? function(n) {
				t.setAttribute("stdDeviation", $(n))
			} : null
		},
		brightness: function(t, n, e) {
			return (t = Vt(e, n)) ? function(n) {
				n = H(n), t.map((function(t) {
					return t.setAttribute("slope", n)
				}))
			} : null
		},
		contrast: function(t, n, e) {
			return (t = Vt(e, n)) ? function(n) {
				var e = H((1 - n) / 2);
				n = H(n), t.map((function(t) {
					t.setAttribute("slope", n), t.setAttribute("intercept", e)
				}))
			} : null
		},
		"drop-shadow": function(t, n, e) {
			var r = e.getElementById(n + "-blur");
			if (!r) return null;
			var i = e.getElementById(n + "-offset");
			if (!i) return null;
			var u = e.getElementById(n + "-flood");
			return u ? function(t) {
				r.setAttribute("stdDeviation", $(t.blur)), i.setAttribute("dx", H(t.offset
					.x)), i.setAttribute("dy", H(t.offset.y)), u.setAttribute(
					"flood-color", Q(t.color))
			} : null
		},
		grayscale: function(t) {
			return t ? function(n) {
				t.setAttribute("values", X(function(t) {
					return [.2126 + .7874 * (t = 1 - t), .7152 - .7152 * t,
						.0722 - .0722 * t, 0, 0, .2126 - .2126 * t, .7152 +
						.2848 * t, .0722 - .0722 * t, 0, 0, .2126 - .2126 *
						t, .7152 - .7152 * t, .0722 + .9278 * t, 0, 0, 0, 0,
						0, 1, 0
					]
				}(n)))
			} : null
		},
		"hue-rotate": function(t) {
			return t ? function(n) {
				return t.setAttribute("values", H(n))
			} : null
		},
		invert: function(t, n, e) {
			return (t = Vt(e, n)) ? function(n) {
				n = H(n) + " " + H(1 - n), t.map((function(t) {
					return t.setAttribute("tableValues", n)
				}))
			} : null
		},
		opacity: function(t, n, e) {
			return (t = e.getElementById(n + "-A")) ? function(n) {
				return t.setAttribute("tableValues", "0 " + H(n))
			} : null
		},
		saturate: function(t) {
			return t ? function(n) {
				return t.setAttribute("values", H(n))
			} : null
		},
		sepia: function(t) {
			return t ? function(n) {
				return t.setAttribute("values", X(function(t) {
					return [.393 + .607 * (t = 1 - t), .769 - .769 * t, .189 -
						.189 * t, 0, 0, .349 - .349 * t, .686 + .314 * t,
						.168 - .168 * t, 0, 0, .272 - .272 * t, .534 - .534 *
						t, .131 + .869 * t, 0, 0, 0, 0, 0, 1, 0
					]
				}(n)))
			} : null
		}
	};
	var Ct = ["R", "G", "B"];

	function Vt(t, n) {
		var e = Ct.map((function(e) {
			return t.getElementById(n + "-" + e) || null
		}));
		return -1 !== e.indexOf(null) ? null : e
	}
	var Nt = {
		fill: Pt,
		"fill-opacity": It,
		stroke: Pt,
		"stroke-opacity": It,
		"stroke-width": Bt,
		"stroke-dashoffset": {
			f: H,
			i: b
		},
		"stroke-dasharray": jt,
		opacity: It,
		transform: function(n, e, r, i) {
			if (!(n = function(n, e) {
					if (!n || "object" !== t(n)) return null;
					var r = !1;
					for (var i in n) n.hasOwnProperty(i) & amp; & amp;
					(n[i] & amp; & amp; n[i].length ? (n[i].forEach((function(t) {
						t.e & amp; & amp;
						(t.e = e(t.e))
					})), r = !0) : delete n[i]);
					return r ? n : null
				}(n, i))) return null;
			var u = function(t, i, u) {
				var o = arguments.length & gt;
				3 & amp; & amp;
				void 0 !== arguments[3] ? arguments[3] : null;
				return n[t] ? r(i, n[t], u) : e & amp; & amp;
				e[t] ? e[t] : o
			};
			return e & amp; & amp;
			e.a & amp; & amp;
			n.o ? function(t) {
				var e = r(t, n.o, At);
				return Mt.recomposeSelf(e, u("r", t, b, 0) + e.a, u("k", t, x), u("s", t, x),
					u("t", t, x)).toString()
			} : function(t) {
				return Mt.recomposeSelf(u("o", t, kt, null), u("r", t, b, 0), u("k", t, x),
					u("s", t, x), u("t", t, x)).toString()
			}
		},
		"#filter": function(t, n, e, r, i, u, o, a) {
			if (!n.items || !t || !t.length) return null;
			var l = function(t, n) {
				var e = (t = t.map((function(t) {
					return t & amp; & amp;
					qt[t[0]] ? (n.getElementById(t[1]), qt[t[0]](n
						.getElementById(t[1]), t[1], n)) : null
				}))).length;
				return function(n) {
					for (var r = 0; r & lt; e; r++) t[r] & amp; & amp;
					t[r](n[r].value)
				}
			}(n.items, a);
			return l ? (t = function(t, n) {
				return t.map((function(t) {
					return t.e = n(t.e), t
				}))
			}(t, r), function(n) {
				l(e(n, t, Tt))
			}) : null
		},
		"#line": Et,
		points: {
			f: X,
			i: M
		},
		d: Ot,
		r: Bt,
		"#size": J,
		"#radius": Z,
		_: function(t, n) {
			if (Array.isArray(t))
				for (var e = 0; e & lt; t.length; e++) this[t[e]] = n;
			else this[t] = n
		}
	};
	return function(t) {
		! function(t, n) {
			if ("function" != typeof n & amp; & amp; null !== n) throw new TypeError(
				"Super expression must either be null or a function");
			t.prototype = Object.create(n & amp; & amp; n.prototype, {
				constructor: {
					value: t,
					writable: !0,
					configurable: !0
				}
			}), n & amp; & amp;
			u(t, n)
		}(o, t);
		var e = a(o);

		function o() {
			return n(this, o), e.apply(this, arguments)
		}
		return r(o, null, [{
			key: "build",
			value: function(t) {
				var n = l(i(o), "build", this).call(this, t, Nt),
					e = n.el,
					r = n.options,
					u = n.player;
				return function(t, n, e) {
					if ("click" === e.start) {
						return void n.addEventListener("click", (function() {
							switch (e.click) {
								case "freeze":
									return !t._running & amp; & amp;
									t.reachedToEnd() & amp; & amp;
									(t.offset = 0), t._running ? t
										.pause() : t.play();
								case "restart":
									return t.offset & gt;
									0 ? t.restart() : t.play();
								case "reverse":
									var n = !t._rollingBack & amp; &
									amp;
									t._running, r = t.reachedToEnd();
									return n || r & amp; & amp;
									1 === t.fill ? (t.pause(), r &
											amp; & amp;
											(t.offset = t.duration -
												1), t._rollback()) :
										r ? t.restart() : t.play();
								case "none":
								default:
									return !t._running & amp; & amp;
									t.offset ? t.restart() : t.play()
							}
						}))
					}
					if ("hover" === e.start) return n.addEventListener(
						"mouseenter", (function() {
							return t.reachedToEnd() ? t.restart() : t
								.play()
						})), void n.addEventListener("mouseleave", (
						function() {
							switch (e.hover) {
								case "freeze":
									return t.pause();
								case "reset":
									return t.stop();
								case "reverse":
									return t.pause(), t._rollback();
								case "none":
								default:
									return
							}
						}));
					if ("scroll" === e.start) return void new Y(n, e.scroll ||
						25, (function(n) {
							n ? t.reachedToEnd() ? t.restart() : t
								.play() : t.pause()
						}));
					t.play()
				}(u, e, r), u
			}
		}]), o
	}(U)
}));
__SVGATOR_PLAYER__.build({
	"root": "ebf9hgyjag41",
	"animations": [{
		"duration": 2600,
		"direction": 1,
		"iterations": 0,
		"fill": 1,
		"alternate": false,
		"elements": {
			"ebf9hgyjag44": {
				"opacity": [{
					"t": 700,
					"v": 0
				}, {
					"t": 800,
					"v": 1
				}]
			},
			"ebf9hgyjag45": {
				"opacity": [{
					"t": 1700,
					"v": 0
				}, {
					"t": 1800,
					"v": 1
				}]
			}
		}
	}],
	"options": {
		"start": "load",
		"hover": "freeze",
		"click": "freeze",
		"scroll": 25,
		"exportedIds": "unique",
		"title": "nearby icon"
	},
	"animationSettings": {
		"duration": 2600,
		"direction": 1,
		"iterations": 0,
		"fill": 1,
		"alternate": false
	}
})